$(function() {
	$("#jqGrid")
			.jqGrid(
					{
						url : '../queues/list',
						datatype : "json",
						colModel : [
								{
									label : '队列编号',
									name : 'queuesId',
									width : 50,
									key : true,
									hidden:true
								},
								{
									label : '队列名称',
									name : 'queuesName',
									width : 80
								},
								{
									label : '存活时间 ',
									name : 'dietime',
									width : 50
								},
								{
									label : '持久化',
									name : 'durability',
									width : 50
									
								},
								{
									label : '使用状态',
									name : 'flag',
									width : 50,
									formatter : function(value, options, row) {
										return value === 0 ? '<span class="label label-danger">未使用</span>'
												: '<span class="label label-success">已使用</span>';
									}}, {
									label : '自动删除',
									name : 'autodelete',
									width : 50
								}, {
									label : '队列排他性',
									name : 'exclusive',
									width : 50
								} , {
									label : '队列描述',
									name : 'comments',
									width : 80
								} ],
						viewrecords : true,
						height : 385,
						rowNum : 10,
						rowList : [ 10, 30, 50 ],
						rownumbers : true,
						rownumWidth : 25,
						autowidth : true,
						multiselect : true,
						pager : "#jqGridPager",
						jsonReader : {
							root : "page.list",
							page : "page.currPage",
							total : "page.totalPage",
							records : "page.totalCount"
						},
						prmNames : {
							page : "page",
							rows : "limit",
							order : "order"
						},
						gridComplete : function() {
							// 隐藏grid底部滚动条
							$("#jqGrid").closest(".ui-jqgrid-bdiv").css({
								"overflow-x" : "hidden"
							});
						}
					});
});


var queues;
$(function() {
	queues = $("#queues").Validform({
		tiptype : 3,
		//showAllError:true,
		datatype : {
			//匹配是否合法(字母开头，允许5-16字节，允许字母数字下划线)
			"queuesName" : /^[a-zA-Z][a-zA-Z0-9_]{2,15}$/,
		},

	});
	queues.addRule([ {
		ele : ".form-control:eq(0)",
		datatype : "queuesName",
		nullmsg : "请输入队列名称",
		errormsg : "请输入正确格式(字母数字下划线2－15位)"
		
	},
	{
		ele : ".form-control:eq(1)",
		datatype : "s2-16",
		nullmsg : "请输入列队描述",
		errormsg : "队列描述至少2个字符,最多16个字符！"
		
	},
	{
		ele : ".form-control:eq(2)",
		datatype : "n6-16",
		nullmsg : "请输入队列存活时间",
		errormsg : "请输入6－16位数字！"
		
	}

	]);
});

var vm = new Vue({
	el : '#rrapp',
	data : {
		showList : true,
		title : null,
		queues : {}
	},
	methods : {
		query : function() {
			vm.reload();
		},
		add : function() {
			vm.showList = false;
			vm.title = "新增";
			vm.queues = {
					autodelete:false,
					exclusive:false,
					durability:true,
					flag:"0"
					
			};
		},
		update : function(event) {
			var queuesId = getSelectedRow();
			if (queuesId == null) {
				return;
			}
			vm.showList = false;
			vm.title = "修改";

			vm.getInfo(queuesId)
		},
		saveOrUpdate : function(event) {
			//表单提交前验证
			var bool = queues.check();
			if (!bool) {
				return false;
			}

			var url = vm.queues.queuesId == null ? "../queues/save"
					: "../queues/update";
			$.ajax({
				type : "POST",
				url : url,
				data : JSON.stringify(vm.queues),
				success : function(r) {
					if (r.code === 0) {
						alert('操作成功', function(index) {
							vm.reload();
						});
					} else {
						alert(r.msg);
					}
				}
			});
		},
		del : function(event) {
			var queuesIds = getSelectedRows();
			if (queuesIds == null) {
				return;
			}

			confirm('确定要删除选中的记录？', function() {
				$.ajax({
					type : "POST",
					url : "../queues/delete",
					data : JSON.stringify(queuesIds),
					success : function(r) {
						if (r.code == 0) {
							alert('操作成功', function(index) {
								$("#jqGrid").trigger("reloadGrid");
							});
						} else {
							alert(r.msg);
						}
					}
				});
			});
		},
		getInfo : function(queuesId) {
			$.get("../queues/info/" + queuesId, function(r) {
				vm.queues = r.queues;
			});
		},
		reload : function(event) {
			vm.showList = true;
			var page = $("#jqGrid").jqGrid('getGridParam', 'page');
			$("#jqGrid").jqGrid('setGridParam', {
				page : page
			}).trigger("reloadGrid");
		}
	}
});